#include <iostream>

void Swap(int *a, int *b) 
{
    int temp = *a;
    *a = *b;
    *b = temp;
}  

void func(int &a)
{
    std::cout<<"func a= "<<a<<std::endl;
}

int& func()
{
    static int a=10;
    return a;//不允许返回局部变量的引用
}

int main ()
{
    // int a=10;
    // int b=20;
    // Swap(&a,&b);
    // std::cout<< "a=" << a << " b=" << b << std::endl;

   
    // int b=10;
    // int &a=b;
    // a=20;
    // std::cout<<"b= "<<b<<std::endl;
    // int c=30;
    // a = c;
    // std::cout<<"b= "<<b<<std::endl;
    // int a=10;
    // int b =20;
    // int* const p = &a;
    
    //左值引用
    int a = 10;
    func(10);

    //常量引用:左值引用无法传递右值
    //const int &b=10;


    return 0;
}